package com.hnlwh.sort;

import java.util.Arrays;

/**
 * @program: sortingalgorithm
 *
 * @description:    冒泡排序
 *
 * @author: yuhui
 *
 * @date: 2021-07-27 17:39
 */
public class BubbleSort {
    public static void main(String[] args) {

        Integer[] array={1,5,35,12,85,26,30,9999,45,100,65,51,22,120};

//        for (int j = 0; j < array.length; j++) {    //控制环数 每次进行一次排序则减少一次循环
//            for (int i = 0; i < array.length-1; i++) {
//                if (array[i]>array[i+1]){   //通过if进行比较 当array[i]>array[i+1] 则进行一次交换
//                    int tmp=array[i];
//                    array[i]=array[i+1];
//                    array[i+1]=tmp;
//                }
//            }
//        }
//        for (int arrays:array) {
//            System.out.println(arrays);
//        }


        /*
         *  优化
         * 通过使用boolean进行标记
         * 当返回值依旧是true表示已经排序完成不再进行外循环
         */

        for (int j = 0; j < array.length-1; j++) {    //控制环数 每次进行一次排序则减少一次循环
            boolean sort=true;
            for (int i = 0; i < array.length-1-j; i++) {
                if (array[i]>array[i+1]){  //通过if进行比较 当array[i]>array[i+1] 则进行一次交换
                    int tmp=array[i];
                    array[i]=array[i+1];
                    array[i+1]=tmp;
                    sort=false;
                }
            }
            if (sort==true) break;;
        }
        for (int arrays:array) {
            System.out.println(arrays);
        }

    }

}
